Conventional NAND-type flash memory is used in many applications for its ability to store information in a non-volatile manner, as well as its relatively high density (and capacity) and relatively low cost. However, NAND flash memory is typically accessed in a block-wise manner, through an asynchronous interface. This makes it unsuitable for some applications, such as applications where random byte/word access to the memory is desirable.
Other types of flash memory, such as conventional NOR-type flash memory may permit random access, but typically have a lower density (and, hence, capacity) and higher cost as compared to NAND flash. Additionally, a typical NOR flash memory has a synchronous interface.
Due in part to differences in their interfaces, conventional NAND flash memory cannot typically be substituted for NOR flash memory, to take advantage of its lower cost and higher capacity. Most applications that employ NAND flash use a microprocessor or host controller that is compatible with the interface of a NAND flash memory, or that is programmed to access a NAND flash memory through a “standard” NAND flash memory interface. Similarly, applications that use NOR flash memory typically use a microprocessor or host controller that is compatible with the interface of a NOR flash memory, or that is programmed to use a NOR flash memory through a “standard” NOR flash interface.